package com.shigu.itemCate.api;

import com.opentae.data.mall.beans.MallItem;
import com.opentae.data.mall.beans.MallItemcats;
import com.shigu.ListDto;
import com.shigu.PageResponse;
import com.shigu.exceptions.WapException;
import com.shigu.itemCate.bo.CateBo;
import com.shigu.itemCate.bo.ModCateBo;
import com.shigu.itemCate.vo.CateVo;
import com.shigu.itemCate.vo.ChildCateVo;
import com.shigu.item.vo.GoodsListVo;
import com.shigu.itemCate.vo.MainCateVo;

import java.util.List;

/*
 * create by  过儿  2019-06-04
 *　商品类目服务类
 */
public interface ItemCateService {

    /**
     * @description 添加目录
     * @author 郭尔
     * @date 2019-06-05 12:32
     */
    void addCate(CateBo bo) throws WapException;

    /**
     * @description 删除目录
     * @author 郭尔
     * @date 2019-06-05 13:01
     */
    void delCate(Long cid) throws WapException;

    /**
     *
     * @description 修改目录
     * @author 郭尔
     * @date 2019-06-12 16:46
     */
    void modifyCate(ModCateBo bo);

    /**
     * @description 查询子目录
     * @author 郭尔
     * @date 2019-06-04 10:06
     */
    List<MallItemcats> selItemCate(String parentCid);

    /**
     * @description 查找目录下的商品集合
     * @author 郭尔
     * @date 2019-06-04 10:08
     */
    ListDto<MallItem> selCateItems(Integer page, Integer size, String sort, String cid, String keyword);

    /**
     *
     * @description 查询类目
     * @author 郭尔
     * @date 2019-06-12 12:23
     */
    PageResponse<CateVo> selCate(String parentCid);

    /**
     * @description 查询主目录
     * @author 郭尔
     * @date 2019-06-04 12:03
     */
    PageResponse<MainCateVo> getMainCateList();

    /**
     * @description
     * @author 郭尔
     * @date 2019-06-04 12:03
     */
    PageResponse<ChildCateVo> getChildCateList(String mainCateId) throws WapException;

    /**
     * @description 用户搜索商品
     * @author 郭尔
     * @date 2019-06-04 12:46
     */
    PageResponse<GoodsListVo> getGoodsList(Integer page, Integer size, Long mallUserId, String sort, String childCateId, String keyword);



}
